home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1999 January - Disc 2
/
Macworld (1999-01) (Disk 2).dmg
/
Serious Demos
/
Symbolic Composer 4.2
/
Environment
/
System
/
CADAR
/
Morph
/
morphing
Wrap
Text File
|
1998-10-22
|
2KB
|
53 lines
morphing material mask &key (div nil) (step 1)
This function uses change-order-mask as its sub-function
and it will be wise to read about that first.
It simply divides the material into longer and longer
groups which means that it can reshape better and better.
It uses a variant of list-a-scale by default for divisions
so by default the material is divided into 1 2 3 ... groups
which it then reorder with change-order-mask.
So it takes change-order-mask on the first "symbol" which it
can't change, then on the next two symbols where it can make
very little change and so on.
You need a mask of at least the same length as material if
you want all the material. if you use longer mask than material
it cuts of to the length of material.
Try with visualizer and long material and first draw
the mask, then the material and finally the function to
see how it works.
Some material works better than other.
It is hard to reshape a list of 1:s
You can increase the step to get quicker effect or use
your own material when you use non nil for key :div.
try this in visualizer:
(morphing (noergaard-infinity-series 200 '(a m))
(gen-sin 5 0.1 200))
-> . . .
other ex. where you don't need the visualizer:
(morphing '(a b c d e f g h i j k l m n o p q r s t u v)
(gen-sin 3 0.6 22))
->(a b c f e d g h i j o n l k m s u t r q p v)
(morphing '(a b c d e f g h i j k l m n o p q r s t u v)
(gen-sin 3 0.6 22) :step 2)
->(a c d b h f e g i p o m k j l n v u t s q r)
here another sine-curve is used for division-pattern:
(morphing '(a b c d e f g h i j k l m n o p q r s t u v)
(gen-sin 3 0.6 22) :div
(vector-round 1 8 (gen-sin 1 0.3 14)))
->(a c d b h f e g i j p n l k m o q v u t r s)
when you use your own division-pattern step won't have any
effect.